#pragma once
//
//  @ Project : Adamantium Project
//  @ File Name : UI.h
//  @ Date : 12/8/2012
//  @ Author : 
//
//
#include "GameTexture.h"
#include "TemplateVector.h"
#include "PlayerStatus.h"
#include "Clickable.h"
#include "UI.h"
#include "USETYPE.h"

struct BUTTON {
	BUTTON_TYPE whatKindOfButton;
	GUAGE_TYPE  whatKindOfEnergy;
	
	GameTexture  texture;

	Clickable    click;
	
};

struct BAR {
	GameTexture bars[100];
	float preset_X;
	float preset_Y;
	float X, Y;
	V2DF position;

	int counter; 
	int testCounter;

	char *a; // display	


	// Specifically for ENERGY LEVEL
	GameTexture E_LV_Bar[200];
};

struct MISSILE {
	char *a; // display
	int Count;
};


class UI {
private:
	float Current_Day;
	int Ship_Status;
	int Ship_TEXT_COLOR;
	char * toDraw;
	static const int size = 6;

	BeanieCore* m_core;

	PlayerStatus* m_status;
	
	GameTexture background;
	GameTexture status;
	GameTexture panel[3];
	GameTexture energy_H;
	GameTexture energy_V[2];
	BUTTON btn[size];

	BAR PhaserShieldBar[2];
	BAR EnergyBar;
	MISSILE m;
public:
	void init(BeanieCore* a_core);
	void initBtn(BUTTON btn[6]);
	void update();
	void draw();
	void release();

	void setPlayerStatus(PlayerStatus* a_status);
	void EnergyUsage(BUTTON a_btn);

	void Check_Ship(int &status);
};